﻿using System;

namespace ScopaSL.Gameplay
{
    public delegate void LevelWon<T>(T victory_data);
    public delegate void LevelLost();

    /// <summary>
    /// Un servizio di livello lancia due eventi: partita
    /// persa o partita vinta; in questo modo possiamo mostrare
    /// stats e schermate diverse a seconda del risultato del
    /// livello
    /// </summary>
    /// <typeparam name="VictoryStats"></typeparam>
    public interface ILevelManager<VictoryStats>
    {
        event LevelWon<VictoryStats> OnLevelWon;
        event LevelLost OnLevelLost;
    }
}
